﻿using System;
using SharpSqlAnalyzer.nodes.hive;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x0200037C RID: 892
	public class TWindowPartitioningSpec : TParseTreeNode
	{
		// Token: 0x17000813 RID: 2067
		// (get) Token: 0x0600254F RID: 9551 RVA: 0x00339A31 File Offset: 0x00337C31
		// (set) Token: 0x06002550 RID: 9552 RVA: 0x00339A39 File Offset: 0x00337C39
		public virtual TPartitionClause PartitionClause
		{
			get
			{
				return this._partitionClause;
			}
			set
			{
				this._partitionClause = value;
			}
		}

		// Token: 0x17000814 RID: 2068
		// (get) Token: 0x06002551 RID: 9553 RVA: 0x00339A42 File Offset: 0x00337C42
		// (set) Token: 0x06002552 RID: 9554 RVA: 0x00339A4A File Offset: 0x00337C4A
		public virtual TOrderBy OrderBy
		{
			get
			{
				return this.orderBy;
			}
			set
			{
				this.orderBy = value;
			}
		}

		// Token: 0x17000815 RID: 2069
		// (get) Token: 0x06002553 RID: 9555 RVA: 0x00339A53 File Offset: 0x00337C53
		// (set) Token: 0x06002554 RID: 9556 RVA: 0x00339A5B File Offset: 0x00337C5B
		public virtual THiveDistributeBy DistributeBy
		{
			get
			{
				return this.distributeBy;
			}
			set
			{
				this.distributeBy = value;
			}
		}

		// Token: 0x17000816 RID: 2070
		// (get) Token: 0x06002555 RID: 9557 RVA: 0x00339A64 File Offset: 0x00337C64
		// (set) Token: 0x06002556 RID: 9558 RVA: 0x00339A6C File Offset: 0x00337C6C
		public virtual THiveClusterBy ClusterBy
		{
			get
			{
				return this.clusterBy;
			}
			set
			{
				this.clusterBy = value;
			}
		}

		// Token: 0x17000817 RID: 2071
		// (get) Token: 0x06002557 RID: 9559 RVA: 0x00339A75 File Offset: 0x00337C75
		// (set) Token: 0x06002558 RID: 9560 RVA: 0x00339A7D File Offset: 0x00337C7D
		public virtual THiveSortBy SortBy
		{
			get
			{
				return this.sortBy;
			}
			set
			{
				this.sortBy = value;
			}
		}

		// Token: 0x06002559 RID: 9561 RVA: 0x00339A86 File Offset: 0x00337C86
		public override void init(object arg1, object arg2, object arg3, object arg4, object arg5)
		{
			this._partitionClause = (TPartitionClause)arg1;
			this.orderBy = (TOrderBy)arg2;
			this.distributeBy = (THiveDistributeBy)arg3;
			this.sortBy = (THiveSortBy)arg4;
			this.clusterBy = (THiveClusterBy)arg5;
		}

		// Token: 0x0600255A RID: 9562 RVA: 0x00339AC6 File Offset: 0x00337CC6
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x0600255B RID: 9563 RVA: 0x00339AD6 File Offset: 0x00337CD6
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001CBF RID: 7359
		private TPartitionClause _partitionClause;

		// Token: 0x04001CC0 RID: 7360
		private TOrderBy orderBy;

		// Token: 0x04001CC1 RID: 7361
		private THiveDistributeBy distributeBy;

		// Token: 0x04001CC2 RID: 7362
		private THiveClusterBy clusterBy;

		// Token: 0x04001CC3 RID: 7363
		private THiveSortBy sortBy;
	}
}
